Myp00029 通信ソフトでオートログインする法 #0000 sci1354 8808201039 わたしはNECのPC−9801UV2、AIWAのPV−A1200MkU、 技術評論社の通信ソフトCCT−98Uを用いてアクセスしています。通信ソフ トは簡易言語が使え、オートログインなどのプログラムを作ることができます。 手動や簡易言語で、頻繁にアクセスして、以下のようなプログラムを作成しまし た。初めプログラムが暴走し、システムにご迷惑をおかけしまいお詫びします。 パスワードを変更したものが、仮パスワードに戻っていたのが原因でした。その 為にlogin incorrectが出てしまうことに気づくのに時間が少し 入りました。コマンドや使い勝手が分かってから、パソコン通信のボードならば mypc.sciというファイルに新しい書き込みだけを自動的に追加しながら 書き込めるようなプログラムにバージョンアップしたいものです。もし、同じ通 信ソフトをお使いの方がいらっしゃいましたらお試し下さい。また、レポートを いただければ幸いです。よりより良きオートログイン・プログラムがありました ら、どうぞ、ご伝授下さい。 東京都足立区 牛込和則 ------------------------------------------------------------------------ ;Science Net 接続用プログラム MYID="sciXXXX"; XXXXの部分をあなたのIDに書き換えて下さい。 PASS="XXXXXXX"; XXXXの部分をあなたのパスワードに書き換えて下さい。 access: color 6 print "\r\n★ サイエンスネット アクセス開始 ★\r\n" color 7 sleep 2 send "\r" login: case "login:" "Password:" "下さい。" send "%s\r",MYID "%s\r",PASS "\r" "" goto login login command * end error: print "\07応答がないので簡易言語の処理を中止しました。\r\n" end command: ; case "[q]) >" ;ページ表示をする時は;を取り除く ; send "p" ; case "下さい。" ; send "\r" case "[q]) >" send "2\r" ;「科学フリートーク」へ直行 end exit: er off wait 4 er on end -------------------------------------------------------------------------- #0001 sci1032 8809021405 同じ機種構成です。 早速オートログインプログムにくみこんで使わせてもらいます。 滋賀県からアクセスの中川でした。 by SCI1032 #0002 reader 8809060251 私の場合の PCVAN SFsigの オートログイン・ダウンロードの簡易言語プログラムです。 CCT98 用 speed 1200 n = 1 LogFile = "B:pcvan.log" TIMEOUT 180 autodial "052-251-3258" "ATX4" 999 15 ;オートダイアルを起動します。 then ログイン ;つながった場合はログイン開始 print "ダイアルできませんでした。\r\n" ;メッセージを表示する。 case "\r\n" wait 1 send "ATDT0522513258\r" goto ログイン Redial Redial: case "\r\n" wait 1 send "A/" goto ログイン ログイン: n=n+1 if (n > 30) then Redial wait 3 send "VANPCNEC02\r" ログイン2: case "USER_ID:""PASSWORD:""シマスカ(Y,N)=""(H,Q,J)=""ですか(Y,N)=""しますか(Y,N)=""(SFDB)" "(DISCONNECTED)" "\nNO CARRIER" send "SSSSSSSS\r" "SSSSSS\r" "n\r" "j sf\r" "y\r" "n\r" goto ログイン2 ログイン2 ログイン2 ログイン2 ログイン2 ログイン2 RN0 ログイン Redial Redial RN0: rn=1 fopen Logfile goto * RN: case "たはコマンド(H,Q,E,J)="",SCm,Wm,D,RNm,RTm,J)=" send "3\r" "rn%d\r",rn goto RN loop Error RNX: rn=rn+1 if (rn>=9) then コマンド goto * WAIT: case ",SCm,Wm,D,RNm,RTm,J)=" "J)=" send "rn%d\r",rn "s\r" goto loop loop loop: case "(M,S,F,H,Q,R,RB,RBn,SC,SCn,RT,TL,TLn,J)=" ",SCm,Wm,D,RNm,RTm,J)=" "J)=" "新しいメッセージは、ありません。" send "RB\r" "rn%d\r",rn "\r" goto loop loop loop RNX Error Error: Print "\07エラーです。\r\n" ;エラーを表示する。 end ;簡易言語を終了する。 fclose send "q\r" er off end ;簡易言語を終了 これだけ作るのに結構かかったんですよ。 皆さんがもし作るとしたら、ちゃんとフローチャートを書いてからやったほうがいいですよ。 KEI ;の後の文字は不要ですよ。 #0003 sci1509 8810190232 CCT−98U上で動く未読発言連続読込用簡易言語をお送りします. 使い方としては,オートログインプログラム終了後,このプログラムを 起動するか,オートログインプログラムのラベル commandから先をこのプ ログラムと入れ換えてやるかすればよいでしょう.但し,ひたすら [l]コ マンドを打ち続けますからゲストにはあまり役立たないでしょう.また, case文で参照している文字列がテキスト中にあった場合(滅多にはないと は思いますが)誤動作してしまいます. うーん,こうして注意事項を並べていると,制限ばかり多くて誰の役に も立たないような気がしてきた. TAKA #0004 sci1509 8810190235 ;Science Net 未読発言連続読込プログラム varset: ; ここの代入値を変えることで読むボードの範囲を変えられます I=2 ; メニューレベル0で最初に読む番号(2はフリートーク) J=1 ; メニューレベル1で最初に読む番号(4.1は原発) IMAX=5 ; メニューレベル0で最後に読む番号(5は練習コーナー) JMAX=2 ; メニューレベル1で最後に読む番号(4.2は私のパソコン通信) command: color -7 ;私がリバースを好きなだけで,意味はありません case "レベル 0 ---" "レベル 1 ---" "関連書込 [w]" "最後のページです ***" send "" "" "l" "q\r" goto level0 level1 command command * level0: if I>IMAX then end * send "%s\r",&(I) I=I+1 goto command level1: if J>JMAX then l1to0 * send "%s\r",&(J) J=J+1 goto command l1to0: send "\r" goto command end: end #0005 sci1585 8810230020 皆様のプログラムを見て、自分が今まで使っていたプログラムが恥ずかしくなっ てしまったので、新しく作りました。 そこで、つぎにupしますので、皆様の意見を頂きたいと思います。宜しくお願 いします。 簡単に説明すると、CCT-98U上でサイエンスネットにオートログインして、未読 の書き込みを読み、ログアウトするものです(本当に簡単だなあ)。このとき、自動 的にログファイルができますので、ログファイルは「作成しない」にしておいてくだ さい。詳しくは、プログラムを。 *** 興味のない方は、次をスキップしてください *** 3500bytes 120line 程になってしまいました。 やはり文章が下手な、ずっーーーとROMしていた「AkiRA」でした。 p.s.前から書き込みをしたいと思っていましたが、書くことが苦手だったの でずっとROMしていました。ROM化している人は、早く抜け出ましょう。 #0006 sci1585 8810230022 ; サイエンスネット オートログイン,ダウン&ログアウト ; for CCT-98U by AkiRA (sci1585) ; ; ***ちょっと使い方を説明します*** ; ; まず、下の id,pw,logを書き換えてください。 ; 次に、メインルーチンのgosubの引数部分を自分が読みたいところにあわせて、 ; 次の決まりにしたがって書き換えてください。 ; ; gosub read ' "いつも入力しているメニューの番号" "ログにつけたい番号" ; これで、未読の発言を読み込みます。 ; gosub down ' (いくつレベルを下げるか) "そのとき選択するメニューの番号" ; これで、レベルを下げることができます。 ; gosub up ' (いくつレベルを上げるか) ; これで、レベルを上げます。 ; ; 以上です。 " があるか、ないかに気を付けてください。 ; 変なところ、使いづらいところがありましたら、RESしてください。 ; それから、scilogを使っている方は ; readルーチンの fclose, fopen の行を削除してください。 ; ; 最後に、; 以下のコメントは自由に削除してください。 id = "sciXXXX" ;自分のIDに書き換えてください。 pw = "XXXXXXXX" ;パスワード log = "a:\\snet" ;ログのファイル名を指定してください。 ;この設定で、A: のルートディレクトリに SNET????.LOG が ;作成されます。 timeout 30 fopen "%s.log",log down login: case "login:" "incorrect" "Password:" "押して下さい" send "%s\r",id "" "%s\r",pw "\r" goto login login login command exit exit: er off wait 4 er on fclose download end command: gosub wait_prompt ; ここからを書き換えてください。------------------------------------------ ; この状態ですべてのボードをまわります。いらないところを消してください。 gosub read ' "1" "1" ;1の「ネット利用案内」 gosub read ' "2" "2" ;2の「科学フリートーク」 gosub read ' "3" "3" ;3の「科学記事ウオッチ」 gosub down ' 1 "4" ;4を選んで、レベル1に降ります。 gosub read ' "1" "4_1" ;1の「原子力発電」 gosub read ' "2" "4_2" ;2の「私のパソコン通信」 gosub up ' 1 ;レベル0に、上がります。 gosub read '"5" "5" ;5の「練習コーナー」 ; ------------------------------------------------------------------------ gosub quit ;ログアウトします。 end wait_prompt: case "コマンド入力(" goto * exit return read: ;ボードに移り、未読を読む。 fclose download ;fclose fopen "%s%s.log",log,arg[2] ;fopen send "%s\r",arg[1] read1: case "\n" "** 最後のページです **" "コマンド入力(" "コマンドエラー" send "" "q" "l" goto read1 * read1 cerr exit case "キーを押して下さい" send "\r" goto * exit gosub wait_prompt return cerr: timeout 3 case "議 題" send "" "l" timeout 30 goto read1 down: ;レベルを下げる。 c = arg[1] + 1 d = 1 down_loop: d = d + 1 send "%s\r",arg[d] gosub wait_prompt if d == c then down_end goto down_loop down_end: return up: ;レベルを上げる。 c = arg[1] d = 1 up_loop: send "\r" gosub wait_prompt if d == c then up_end d = d + 1 goto up_loop up_end: return quit: ;ログアウトする。 send "q\r" case "(y/n) ?" send "y\r" goto * exit timeout 5 case "NO CARRIER" goto * exit fclose download return